//axios.defaults.baseURL = "http://localhost:8081/" // 统一设置Axios的请求前缀
//axios.defaults.baseURL = "http://api.car.com/" // 统一设置Axios的请求前缀
axios.defaults.baseURL = "http://47.108.198.192:8888/"
Vue.prototype.$http = axios;


function urlParseParam(){
    let url = location.href;   // http://localhost/list.html?typeId=27&keyword=宝马
    let paramStr = url.split("?")[1];   // typeId=27
    let obj = {};
    if(paramStr){
        let paramArray = paramStr.split("&");
        for(let i=0;i<paramArray.length;i++){   // typeId=27    keyword=宝马
            let arr = paramArray[i].split("=");
            let key = arr[0];   // typeId   keyword
            let value = arr[1];
            // 当要动态获取对象中某个属性名的时候,用[]
            obj[key] = value;
        }
    }
    return obj;
}

// 判断当前要访问的页面,需不需要登录才能访问,如果需要,判断当前有没有登陆过,如果没有登录就跳转回首页
let releaseUrl = ["index.html","callback.html","binder.html"];
let url =  location.href; // http://127.0.0.1/list.html
// 判断当前要访问的页面在不在要放行的url数组中
let isRun = false;  // 默认是不放行的
// 如果url以/结尾,就说明是访问首页,就直接放行
if(url.endsWith("/")){
    isRun = true;
}else{
    for(let i=0;i<releaseUrl.length;i++){
        if(url.indexOf(releaseUrl[i]) > -1){
            isRun = true;
            break;
        }
    }
}

// 如果当前页面不在放行的页面数组中,说明要去判断当前有没有登录
if(!isRun){
    let loginUser = localStorage.getItem("loginUser");
    if(!loginUser){
        // loginUser为空,说明当前未登录,就跳转回首页
        alert("该操作需登录再访问,请登录后再重试!")
        location.href = "/index.html";
    }
}

// axios的前置拦截器  在访问到后端之前,会先经过这个拦截器,在这个拦截器里面,我们可以给每个请求都添加上一个请求头
axios.interceptors.request.use(config=>{
    let token = localStorage.getItem("token")
    if(token){
        config.headers["token"] = token;
    }
    return config;
},error => {
    Promise.reject(error)
})

// axios的后置拦截器  拦截到后端返回给前端的结果,先判断一下当前是不是因为未登录所返回的,如果是未登录,就要跳转回登录页面
axios.interceptors.response.use(config=>{
    console.log("========")
    let data = config.data;
    // == 只判断值不判断类型   === 既要判断值又要判断类型
    if(!data.success && (40015==data.code || 40016 == data.code)) {
        localStorage.removeItem("token");
        localStorage.removeItem("loginUser");
        // 如果后端返回 没有登录,就要跳转回首页
        alert(data.message);
        location.href="/index.html";
        return;
    }
    console.log("========")
    return config;
},error => {
    //Promise.reject(error)
})